|
The same element types are supported in both Basic and MultiClient client mapping modes. Tables of supported elements are available here. Further details of the relationship between Target VI and browser clients and transmission of messages between these endpoint are presented below in the section on "Client Mapping". Also below is information on the "LabSocket Server", User Authentication options and System Requirements. | |||||||||
LabSocket features two configurations in which browser clients are interfaced, or mapped, to the Target VI.
The client mapping mode is based on the LabSocket API VI used to invoke the system. "LabSocket Start.vi" invokes Basic mapping and "LabSocket-MC Start.vi" is used for MultiClient mapping. Both of these VIs are added to Tools Palette when installing the LabSocket VIPM package. An overview of the use of these VIs is presented below. Additional details are presented in the LabSocket User Guide (See Section 5, LabSocket Application Development). In Basic mapping, the VI "LabSocket Start.vi" is placed on the block diagram on the LabVIEW application being extended to the web (the "Target VI"). "LabSocket Start.vi" in turn launches the LabSocket Support VIs which perform the front panel screenscrape and dynamically synchronizes the Target VI front panel with each browser that connects to the system.
How it Works Client to Target VI Mapping LabSocket Server For initial use of the LabSocket evaluation package or for checkout of the commercial system, the HTTP server and message broker on an existing cloud server operated by Bergmans Mechatronics, LLC can also be used. This option is ideally suited for getting started quickly with either version of the system. The LabSocket Server section contains more information about the LabSocket Server VM and physical locations of the HTTP server and message broker. MultiClient Mapping provides a one-to-one mapping between each browser client and a unique instance of the Target VI. This version of the system is designed for applications in which users enter or retrieve user-specific information, such as surveys, data entry, etc. How it Works The LabSocket Support VIs perform the same initial Screenscrape function as in Basic Client Mapping mode. System behavior is slightly different during Dynamic Synchronization however: As each browser client connects to the system, the Support VIs create and start a copy of the Target VI prototype and then maintain synchronization between the each browser and Target VI instance. When a browser client disconnects from the system, the corresponding Target VI instance is stopped and deleted.
LabSocket Server Communication Between Server VI and Target VI Instances One scenario in which this capability could be used is to enable a quiz administrator to monitor the progress of each participant in quiz. A demonstration of the use of a LabVIEW queue for quiz monitoring is shown below. Note that in this demonstration, the Server VI itself has been extended to the web by the use of Basic client mapping. Additional Information about MultiClient Mapping
An important component of both the evaluation and commercial versions of the system is the "LabSocket Server" software that acts as a bridge between LabVIEW and the browser. This software consists primarily of an HTTP server and message broker. The two main configurations for this software are:
Commercial users can also use one of the following two LabSocket Server implementations. Please contact BML to discuss and request these options.
User Authentication and Administration By default, remote access to a Target VI via a browser is unrestricted. To provide control of remote access to the system, a user authentication function can be enabled by the use of the "Authentication Required" input to the top-level LabSocket Support VI. If authentication is enabled, users will be prompted to enter credentials in a pop-up window upon loading the Target VI web page (see below)
In the simplest user authentication implementation, credentials for approved users are stored in an XML-formatted configuration file that is loaded when the message broker is started. This option is suitable for applications in which no or few changes are necessary to the list of authorized users. LDAP-based User Authentication and Administration When the LabSocket system is configured to use an LDAP server, the message broker checks the supplied user credentials against those in the specified LDAP database, as shown in the figure below. If the credentials match, remote access to the Target VI is granted, otherwise, access is denied. A Virtual Machine containing an OpenLDAP server and browser-based phpLDAPadmin user-management software may be purchased from Bergmans Mechatronics, LLC for a nominal fee. BML can also assist with interfacing the LabSocket system to a customer's existing LDAP database.
Browsers Browsers that use the LabSocket system must be compatible with the HTML5 WebSocket interface standard. Most modern mobile and desktop browsers meet this requirement. A complete list of WebSocket-compatible browsers is available at: http://caniuse.com/websockets For developers who require support for older browsers such as Internet Explorer 9.0 and earlier, the Kaazing WebSocket Gateway can be provided to emulate the behavior of the WebSocket interface. Desktop LabVIEW Host Platform (Basic and MultiClient Client Mapping)
NI Real-Time Linux Host Platform (Basic Client Mapping Only)
LabSocket Server Virtual Machine Host The LabSocket Server Virtual Machine (VM) operates within the free Oracle VirtualBox virtualization application. Requirements for the VirtualBox host are:
Other notes:
Ports Access to port 61613 on LabSocket Server from the LabVIEW platform and access to port 61614 on LabSocket Server from the browser. |
©
2011-2024 Bergmans Mechatronics, LLC |